Traduction libre de [[http://wiki.ubuntu.com/AppleTalk|AppleTalk]]

Rédigé par [[utilisateurs:Manu]] complété par [[:contributeurs|Les contributeurs d'Ubuntu-fr]].

====== Comment partager des données avec AppleTalk ======

Pour les personnes utilisant Ubuntu et voulant partager leurs données (ou accéder) avec des utilisateurs de Mac Os 9.x ou inférieur (ceux qui utilisent Mac Os X peuvent utiliser les partages [[:samba]], ou donner l'accès via FTP, SFTP....) doivent installer netatalk. C'est le //Samba// pour les machines Apple.


===== Installation =====


Pour l'installer rien de plus facile, il suffit de passer par //Synaptic// ou //apt-get//:

<code>
  $ sudo apt-get install netatalk
</code>
===== Installation (pour se connecter depuis Leopard - Mac OS X 10.5) =====


Pour rédiger cette documentation je me suis inspiré de la version anglaise suivante [[http://www.blackmac.de/archives/58-Make-Netatalk-talk-to-Leopard-Mac-OS-X-10.5.html|Lien externe]].

Il faut ajouter le support SSL à netatalk pour pouvoir accéder au partage depuis Leopard. Pour cela il faut télécharger les sources du paquet :

<code>
  $ sudo apt-get source netatalk
</code>

Si vous ne disposez pas déjà des outils de compilation il faut les installer. Il faut aussi installer les dépendances :

<code>
  $ sudo apt-get install devscripts fakeroot libssl-dev cracklib2-dev
  $ sudo apt-get build-dep netatalk
</code>

Maintenant tout est prêt pour compiler le paquet avec le support SSL. Vous devriez avoir des problèmes avec la signature du paquet après compilation. Ne paniquez pas, en principe le paquet se trouvera dans le répertoire du dessus. Pour compiler utilisez les commandes suivantes :

<code>
  $ cd netatalk-2.1.2
  $ sudo DEB_BUILD_OPTIONS=ssl debuild
</code>

Ensuite il suffit d'installer le paquet ainsi compilé :

<code>
  $ sudo dpkg -i ../netatalk*.deb
</code>

Vous devriez être capable de vous connecter depuis Leopard. //Synaptic// risque de vous demander de mettre à jour le paquet que vous venez d'installer par la version disponible sur les dépôts. Si c'est le cas vous pouvez demander explicitement à garder votre version actuelle :

<code>
  $ echo "netatalk hold" | sudo dpkg --set-selections
</code>

===== Le problème de paramétrage par defaut =====


Le //noeud// d'Ubuntu apparaît sur le réseau d'Appletalk en tant que //localhost//.
C'est dû à //hostname -s// qui  renvoie sur localhost au lieu d'employer le vrai nom (dans /etc/init.d/netatalk).
===== La Solution =====

FIXME

Ne devrait on pas plutôt utiliser ceci ?
<code>$ hostname realname</code>

FIXME


Changez la ligne appropriée dans ///etc/hosts// et déplacez le vrai //hostname// devant **localhost.localdomain**, par exemple:

<code>
127.0.0.1  realname localhost.localdomain localhost
</code>

Votre machine Ubuntu devrait désormais être visible dans le Réseau de votre Mac sous le nom realname.

===== Bogue (Bug) ? =====


Il y a un rapport de //bogue// ouvert, documentant le problème de l'ordre ///etc/hosts// qui cause des ennuis avec d'autres programmes, aussi.

https://bugzilla.ubuntu.com/show_bug.cgi?id=2256


---------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------

La suite de ce How To a été réalisée grâce à cette [[http://www.inforoots.org/aide/linux/Netatalk.html | documentation ]] 

---------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------------

J'ai recopié ici les informations pour la distribution Ubuntu et non ce qui concerne l'installation via RPM ou via les sources.

__Attention__ : Pour faire fonctionner **Netatalk** vous devez avoir //AppleTalk// compilé dans votre noyau ou le module doit être chargé au démarrage.



====== Paramètrage ======

//Mise à jour : cette partie est inutile pour Feisty Fawn (7.04) car tout est déjà correctement configuré... //

Pour commencer vous devez éditer le fichier ///etc/services// et rajouter ceci :

<code>
 rtmp           1/ddp       # Routing Table Maintenance Protocol
 nbp            2/ddp       # Name Binding Protocol
 echo           4/ddp       # AppleTalk Echo Protocol
 zip            6/ddp       # Zone Information Protocol
 afpovertcp   548/tcp       # AFP over TCP
 afpovertcp   548/udp
</code>

Les deux fichiers suivants se trouve dans /etc/netatalk

  * Le fichier **atalkd.conf** :

Ce fichier contient les paramètres de l'interface Appletalk pour le noyau //Atalk//.


La configuration de base de **atalkd.conf** nous suffit pour faire un simple partage.

__**Attention**__ : pour **Gutsy** s'il n'y a que des commentaires dans le fichier **atalkd.conf**, le service **/etc/init.d/netatalk** ne démarrera pas, il suffit de rajouter dans **/etc/netatalk/atalkd.conf** : //eth0// à la fin du fichier.


  * Le fichier **afpd.conf** :

Ce fichier sert à donner les paramètres au //deamon// Appletalk.
D'origine ce fichier positionne les options de base qui nous intéressent.

====== Le partage ======


Maintenant que **Netatalk** est configuré, il ne nous reste plus qu'à définir les partages.

Pour cela, les fichiers à utiliser sont :

<code>
 - /etc/netatalk/AppleVolumes.default
 - /etc/netatalk/AppleVolumes.system
</code>

Ces fichiers servent à définir les chemins de partage et à définir les types et créateurs.

Dans //Samba// (SMB) il n'existe pas de types et de créateurs, c'est tout à fait normal car les fichiers Mac n'ont pas d'extension (.txt, .tar .conf ) alors pour reconnaître les différents fichiers le système utilise des attributs composés de 4 octets : Le créateur et le type.

Le créateur définit les fichiers par une application tandis que le type définit //l'équivalence// dans un autre système d'exploitation.

Le fichier //AppleVolumes.default// est utilisé seulement quand un utilisateur réel se connecte.
Pour tous les utilisateurs (invité ou réel) c'est le fichier //AppleVolumes.system// qui sera utilisé.

Pour notre exemple nous allons définir un partage pour tous les utilisateurs.

Pour cela éditez le fichier //AppleVolumes.default// et rajoutez la ligne suivante :

<code>
   /partage "MonPartage"
</code>

Cela aura pour effet de partager le répertoire /partage.
L'utilisateur mac verra //MonPartage//.

Bien sûr il nous faut aussi quelques types et constructeurs vous pouvez donc rajouter ces lignes dans //AppleVolumes.system// :

<code>
 .mod      STrk       STrk
 .mid      Midi       ttxt
 .aiff     AIFF       SNdm
 .wav      WAVE       SNdm
 .au       ULAW       SNdm
 .moov     MooV       mMPG
 .mov      MooV       mMPG
 .mpg      MPEG       mMPG
 .mpeg     MPEG       mMPG
 .html     TEXT       MOS!
 .rtf      TEXT       MSWD
 .doc      WDBN       MSWD
 .pdf      PDF        CARO
 .txt      TEXT       R*ch
 .bin      BINA       MB2P
 .zip      ZIP        ZIP
 .tar      TARF       TAR!
 .gzGzip   Gzip
 .ZZIVM    LZIV
 .sea      ????       SITx
 .cpt      PACT       CPCT
 .sit      SIT!       SIT!
 .hqx      TEXT       SITx
 .tiff     TIFF       8BIM
 .tif      TIFF       8BIM
 .TIF      TIFF       8BIM
 .TIFF     TIFF       8BIM
 .bmp      BMPp       8BIM
 .pct      PICT       ttxt
 .pict     PICT       ttxt
 .jpeg     JPEG       8BIM
 .jpg      JPEG       8BIM
 .gif      GIFf       8BIM
 .ps       TEXT       vgrd
</code>

====== Démarrage ======

Maintenant que nous avons fini la configuration il ne nous reste plus qu'à lancer le //deamon// :

<code>
 /etc/rc.d/init.d/atalk start
 ou
 /usr/local/atalk/etc/aftpd ñF /usr/local/atalk/etc/aftpd.conf
</code>

Attention, ne vous inquiétez pas, il est très long à se lancer.

Normalement, maintenant votre serveur tourne.
Vos utilisateurs mac pourront voir votre machine Linux.

Par la même occasion, si vous utilisez //Samba// pour vos utilisateurs Windows et que vous partagez les mêmes fichiers qu'avec **Netatalk** vous pourrez donc échanger des fichiers entre un poste Mac et Windows.

__Attention :__

Si vous utilisez //Samba// et **Netatalk** conjointement, les utilisateurs windows vont voir des fichiers:

<code>
   AppleDouble, Network Trash Folder , TheVolumeSettingsFolder apparaissent, ce qui est normal.
</code>

Pour ne plus les voir, rajoutez la ligne suivante à votre **smb.conf** pour //Samba// :

<code>
  veto files = /.AppleDouble/.AppleDesktop/Network Trash Folder/TheVolumeSettingsFolder/
</code>

Relancez //Samba// et hop les fichiers ont disparu !




====== Liens Netatalk ======


  * [[http://sourceforge.net/projects/netatalk | Téléchargement et modification]] 

  * [[http://www.anders.com/projects/netatalk/ | Documentation très fournie mais en anglais]] 

  * [[http://www.linux-france.org/macintosh/netatalk/ | Une autre explication en français]] 